/**
 * 如果字符串的长度比指定的参数num长，则把多余的部分用...来表示。
 * @param str
 * @param num
 * @returns {*}
 * 插入到字符串尾部的三个点号也会计入字符串的长度,但是，如果指定的参数num小于或等于3，则添加的三个点号不会计入字符串的长度。
 */

function truncate(str, num) {
    if(str.length>num){
        str = str.slice(0,num>3?num-3:num)+'...';
    }
    return str;
}

truncate("A-tisket a-tasket A green and yellow basket", 11);
console.log(truncate('boomerang', 7));

//相当于

const truncateString = (str, num) =>
    str.length > num ? str.slice(0, num > 3 ? num - 3 : num) + '...' : str;
console.log(truncateString('A-tisket a-tasket A green and yellow basket', 11));